package Lambda表达式.注意事项;
/**
 * 注意事项:
 * ●使用L ambda必须要有接口,并且要求接口中有且仅有一个抽象方法
 * ●必须有上下文环境，才能推导出Lambda对应的接1
 *    根据局部变量的赋值得知Lambda对应的接口: Runnable r= () -> System.out.printIn("Lambda表达式);
 *    根据调用方法的参数得知Lambda对应的接口: new Thread(() -> System.out.printIn("Lambda表达式).start();
 * */
public class LambdaDemo {
    public static void main(String[] args) {
        //useInter(()->System.out.println("好好学习，天天向上"));
        //使用Lambda表达式必须要有接口。这个接口中有且只有一个抽象方法
        useInter(()->System.out.println("好好学习，天天向上"));

        //必须有上下文环境，才能推导出Lambda对应的接口
        /*new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("匿名内部类");
            }
        }).start();*/

        Runnable r=()-> System.out.println("Lambda表达式");
        new Thread(r).start();

        new Thread(()-> System.out.println("Lambda表达式1")).start();

    }

    private static void useInter(Inter i){
        i.show();
    }
}
